#ifndef LRCPAGE_H
#define LRCPAGE_H

#include <QWidget>
#include <QPropertyAnimation>
#include <QFile>
#include <QDebug>

namespace Ui {
class LrcPage;
struct LyricLine;
}

struct LyricLine
{
    qint64 _time;   // 时间
    QString _text;  // 歌词内容
    LyricLine(qint64 time,QString text)
        :_time(time),
         _text(text)
    {}
};

class LrcPage : public QWidget
{
    Q_OBJECT

public:
    explicit LrcPage(QWidget *parent = nullptr);
    ~LrcPage();

    bool parseLrc(const QString& lrcPath);      //解析歌词

    int getLineLrcWordIndex(qint64 pos);        //获取歌词时间

    QString getLineLrcWord(qint64 index);       //获取歌词

    void showLrcWord(int time);                 //显示歌词

    void setTitle(const QString& musicName,const QString& singer);  //设置title部分


private slots:

private:
    Ui::LrcPage *ui;
    QPropertyAnimation* lrcAnimation;
    QVector<LyricLine> LyricLines;  // 按照时间的先后次序保存每⾏歌词
};

#endif // LRCPAGE_H
